#ifndef __TASKGROUP_H__
#define __TASKGROUP_H__

#include <functional>
#include "BaseTask.h"
#include "HTask.h"

HTHREADPOOL_NAMESPACE_BEGIN

    class TaskGroup : public HTaskObject
    {
    public:
        using Task = std::function<void()>;

    public:
        TaskGroup() = default;

        //增加任务
        void addTask(Task task) { m_taskArr.emplace_back(std::move(task)); }

        //清除任务
        void clear() { m_taskArr.clear(); }

    private:
        std::vector<Task> m_taskArr;  // 任务组
    };
HTHREADPOOL_NAMESPACE_END

#endif
